// axios的封装处理
import axios from "axios"
import { getToken, removeToken } from "./index"
import router from "../router"
// 1.根域名配置
// 2.超时时间
// 3.请求拦截器/响应拦截器
const request = axios.create({
    baseURL:'http://xxx',
    timeout:6000
})
// Expected an assignment or function call and instead saw an expression  no-unused-expressions
// 希望是一个赋值或者是函数调用，而不是一个表达式
// // 添加请求拦截器
// // 在请求发送之前，做拦截，插入一些自定义的配置[参数的处理 ]
// request.interceptors.request.use((config)=>{
//     // 操作这个config 注入token数据
//     // 1.获取token
//     const token = getToken()
//     // 2.按照后端的格式要求做token的拼接
//     if(token){
//         config.headers.Authorization = `Bearer ${token}`
//     }
//     return config
// }),(error)=>{
//     return Promise.reject(error)
// }
// // 添加响应拦截器
// // 在响应返回到客户端之前，做拦截 重点处理返回的数据
// request.interceptors.response.use((response)=>{
//     // 2xx范围内的状态码都会触发该函数
//     // 对响应数据做些什么
//     return response.data
// },(error) =>{
//     // 超出2xx范围的状态码都会触发该函数
//     // 对响应错误做点什么
//     // 监控401 token失效
//     if( error.response.status === 401){
//         removeToken()
//         router.navigate('/login')
//         window.location.reload()    //强制刷新
//     }
//     return Promise.reject(error)
// })
export { request }